import scala.io.StdIn

object PrimeFactorization {
  def main(args: Array[String]): Unit = {
    // 读取用户输入的正整数
    print("请输入一个正整数：")
    val number = StdIn.readInt()

    // 分解质因数
    val factors = factorize(number)

    // 输出结果
    println(s"$number = ${factors.mkString("*")}")
  }

  // 递归函数，用于分解质因数
  def factorize(n: Int, factor: Int = 2): List[Int] = {
    if (n == 1) {
      // 如果n为1，分解结束，返回空列表
      List()
    } else if (n % factor == 0) {
      // 如果n能被当前因子整除，将因子加入列表，并继续分解n除以因子的结果
      factor :: factorize(n / factor, factor)
    } else {
      // 如果n不能被当前因子整除，尝试下一个因子
      factorize(n, factor + 1)
    }
  }
}